In networking systems, a single server may be utilized to concurrently support multiple server operations or services. For example, a single server may be utilized for providing access to business applications while also operating as an email server, a database server, and/or an exchange server. The server may generally support the various server operations by utilizing a single operating system (OS). The server operations, via the single OS, make use of server processing resources such as, for example, the central processing unit (CPU), memory, network interface card (NIC), which may be referred to as a network interface device, peripheral sound card, and/or graphics card. In many instances, the demand for server operations generally vary based on the type of service provided and/or user needs. Consolidating server services into a single operation may result in an improvement in server efficiency. However, the level of protection provided through consolidated operations or separate operations may require consideration.
Another approach for improving server efficiency may be to utilize multiple operating systems running concurrently so that each operating system supports a different server operation, for example. The multiple operating systems may be referred to as guest operating systems (GOSs). This approach maintains the level of protection provided when server operations are not consolidated under a single operating system while also enabling the optimization of the usage of the processing resources available to the server.
The use of multiple GOSs may be referred to as OS virtualization because each GOS perceives itself to have full access to the server's hardware resources. In this regard, a GOS is unaware of the presence of any other GOS running on the server. In order to implement OS virtualization, a software layer may be needed to arbitrate access to the server's hardware resources. This software layer may be referred to as a hypervisor or virtual machine (VM) monitor, for example. The hypervisor may enable the multiple GOSs to access the hardware resources in a time-sharing manner. This software layer may be assisted by a trusted GOS (TGOS), which may also be referred to as a parent partition, or Virtual Machine Kernel (VMK) for instance. This software layer may be referred to as a hypervisor or virtual machine (VM) monitor, for example. The hypervisor may enable the multiple GOSs to access the hardware resources in a time-sharing manner.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.